package com.AdvancedDemos.LearnVariousAPI.时间日期类.传统时间日期类;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class LearnSimpleDateFormat {
    public static void main(String[] args) throws ParseException {
        /*
        SimpleDateFormat类:简单日期格式化,可以用来把日期对象,时间毫秒格式化成便于阅读的样式
         */

        /*
        常见构造器
        public SimpleDateFormat(String pattern) --- 创建简单日期格式化对象,并封装时间的格式

        格式化时间的方法
        public final String format(Date date) --- 将日期格式化成 日期/时间 字符串
        public final String format(Object time) --- 将时间毫秒值化成 日期/时间 字符串
         */

        //1.准备一些时间
        Date now = new Date();
        System.out.println(now);

        long time = now.getTime();
        System.out.println(time);

        //2.将日期对象或时间毫秒值按照指定的格式转成字符串
        System.out.println("--------------");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");//使用占位符表示具体位数 y年 M月 d日 H时 m分 s秒 EEE星期几 a上下午 , 如果不指定会使用默认格式
        System.out.println(simpleDateFormat.format(now));
        System.out.println(simpleDateFormat.format(time));

        //3.将一定格式的字符串解析成Date对象
        System.out.println("--------------");
        /*
        public Date parse(String source) --- 把字符串时间解析成日期对象
         */
        String dateStr = "2022-12-12 12:12:11";
        simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = simpleDateFormat.parse(dateStr);
        System.out.println(date1);

    }
}

